Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
[ :: Read More :: ]

Cart #rude_cat_wallpaper-0 | 2024-03-28 | Embed ▽ | License: CC4-BY-NC-SA
6

load #rude_cat_wallpaper then save appdata/system/wallpaper/rude_cat_wallpaper

comes in any colour, isn't always rude

P#144708 2024-03-28 08:43 ( Edited 2024-04-06 11:39)
[ :: Read More :: ]

Cart #negigupepu-1 | 2024-03-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

[ BEAR HUNTER NINJA ]

The rules are simple.

From the three cards offered you get to pick one.

The computer then picks its choice of card from the same selection.

Hunter wins against Bear

Bear wins against Ninja

Ninja wins against Hunter

Will the card you pick win?

P#144795 2024-03-28 06:58
[ :: Read More :: ]

Just a few notes from playing around with userdata. These notes assume 8M VM cycles/sec and large enough arrays to avoid substantial overhead and fully realize economies of scale.

  • Fast ops - add/mul/copy/etc. - cost 1/16 cycle.
  • Slow ops - div/convert/etc. - cost 1/4 cycle.
  • matmul is charged as a fast op based on the size of the output matrix. I'm a little suspicious that the answer seems to be so simple, so I'm wondering if I missed something.
  • copy and memmap/memcpy are approximately the same speed for 64 bit datatypes. For smaller datatypes, memcpy is proportionally faster, though of course you then have to manage strides/spans yourself. memcpy should also enable reinterpret_cast type shenanigans.
  • There is substantial overhead for small spans. If you use spans of length 1 you pay 1/4 cycle/span, same as a slow op. It looks like this may be a flat cost per span, but I'm not sure. Using the full/strided forms of the ops does not seem to have noticeable additional costs beyond the per-span cost.
  • For full-screen rendering, you have about 1 cycle/pixel at 480x270x60Hz. This includes whatever scaling/conversion you need to do at the end of the process. So realistically, you'll get in the neighborhood of 10 additions/multiplications per pixel. Exact numbers depend on whether you need a divide at the end, and whether or not you can work in u8.
  • userdata flat access w/ locals seems to cost 1 cycle/element including the assignment.
  • userdata get is 1/4 cycle / element at scale ... but each explicit assignment will cost you 1 cycle on top of this.
  • userdata set is 1 cycle / element at scale.

There also seems to be some interesting behavior happening where multivals, even very large multivals, do not seem to noticeably increase CPU usage when passed to pack or set. While I'm enjoying taking advantage of this for f64 to u8 conversions at the same cost as convert, I'm worried this might not last.

P#144791 2024-03-28 06:26 ( Edited 2024-03-28 15:40)
[ :: Read More :: ]

Cart #tabutil-0 | 2024-03-28 | Embed ▽ | No License
1

tabUtil.lua library for use with Picotron
Contains useful functions for working with tables

Install with load #base64 and run it with crtl+r
A new file will be created /appdata/system/lib/tabUtil.lua

I personally love to use tabUtil.toString(#Table), its handy for debugging

Contains 3 functions, Usage Below

include("/appdata/system/lib/tabUtil.lua")

myTable = {
    name="Microsoft",
    employees={"Bill Gates", "Some Dude"},
    myFunction=function () print("Im a function") end,
}

meSecondTable = tabUtil.shallowCopy(myTable)
myTable = {}

print(tabUtil.getKeyCount(meSecondTable))
print(tabUtil.toString(meSecondTable))

This prints out the following

Verion 0 - Initial release

dynInclude compatible: https://www.lexaloffle.com/bbs/?tid=141042

P#144789 2024-03-28 06:15 ( Edited 2024-03-28 11:05)
[ :: Read More :: ]

Cart #picochat-8 | 2024-03-30 | Embed ▽ | License: CC4-BY-NC-SA
20


PicoChat requires not to be run in the browser to function
Huge thanks to PixelDud for rebuilding the server in Go to support linux

Introducting PicoChat!

PicoChat is Picotron's first chat room. Its fully capable of sending and receiving messages, changing server and username.

Use /nick <name> to change your Username.
Use /server <server address> to change your server.

Want to setup your own chatroom?

Here's how to setup your own chatroom server:

  1. Download the server from here.
  2. Port forward port 80.
  3. Run the server.

If you want to add your server to the public server list, please send me a message on discord hessery

Looking for a server?

Here's a list of the current public servers:

  • Official PicoChat Server
    nenjine.com
P#144788 2024-03-28 05:48 ( Edited 2024-04-04 19:25)
[ :: Read More :: ]

Cart #nezupejomu-0 | 2024-03-28 | Code ▽ | Embed ▽ | No License

P#144773 2024-03-28 02:06
[ :: Read More :: ]

Cart #welcomenowitches-3 | 2024-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
27

Welcome No Witches!

The gala has begun! What fun there shall be, so long as no witches attend...

The gala begins! The invitations have gone out, dresses have been bought, hair dyed and styled, jewelry adorning the many princesses of the many kingdoms. However, some witches have caught wind of the event, and have disguised themselves to sneak in and ruin the party! Follow the dress codes as the princesses enter to ensure that the party goes well!

—————————————————————————————————————————

Controls

🅾️ or Z or C - Allow princess in, have fun at the party!
❎or X - Accuse of witchcraft! Begone with ye!
⬅️ ➡️ - View rules and score

How to Play

The princesses will approach you and wait to be announced into the gala. Quickly glance them over to make sure the follow the dress code, and that their names don't appear on the list of known witches before allowing them in. Get a score of at least 20 to unlock a more difficult dress code. Be quick, for there's a limited time before the party ends.

—————————————————————————————————————————

1.1 Update


• Casual pants now match the shirt color.
• "Marigold" is now considered a plant name.
• Updated ending screen to allow immediate next game.
• Fix a bug with not being able to advance with a score of exactly 20.
• Added difficulty on the final screen.

P#144764 2024-03-28 00:05 ( Edited 2024-03-31 04:20)
[ :: Read More :: ]

Cart #bouncebattle-0 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


A little silly lil' game I made to play with my friends (so its only two player), and figured I might as well publish it.

Some things to know:

You gotta fast fall and let go before hitting the ground to gain height.
If you dash into a bullet it is reflected and bounces back and recharges your dash instantly (yes ping pong is possible).

The rest is to be discovered as you play, have fun!

P#144759 2024-03-27 23:26
[ :: Read More :: ]

Cart #gnemator-0 | 2024-03-27 | Embed ▽ | License: CC4-BY-NC-SA
3

Just been learning how to code and such, AND I MADE MOVEMENT CODE!!! WOOHOO!!!

Gotta love the PICO-8 Manual for showing me the ropes on movement code.

Arrow keys to move the eyes.

P#144756 2024-03-27 23:16 ( Edited 2024-03-27 23:17)
[ :: Read More :: ]

Cart #tenprint-0 | 2024-03-27 | Embed ▽ | License: CC4-BY-NC-SA
1

Wallpaper that recreates the iconic 10 PRINT program for the Commodore 64 in your Picotron.

Instructions:

  • run load #tenprint-0

  • run save /appdata/system/wallpapers/tenprint.p64.png (you might have to create the wallpaper folder, if you haven't done that yet)

  • open System Settings and select this wallpaper from the list
P#144750 2024-03-27 22:55 ( Edited 2024-03-28 14:44)
[ :: Read More :: ]

Is it even possible?
Also how to get mouse dx dy after you do that?

P#144734 2024-03-27 18:57
[ :: Read More :: ]

Uses your theme's first two "desktop" colors for letters.

Cart #p64matrixwallpaper-0 | 2024-03-27 | Embed ▽ | No License
5

P#144730 2024-03-27 18:51 ( Edited 2024-03-27 18:52)
[ :: Read More :: ]

Cart #bosimuninu-0 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

P#144726 2024-03-27 17:51 ( Edited 2024-03-27 17:51)
[ :: Read More :: ]

Digital Invader

Cart #fifanidige-0 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #fifanidige-0 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Select Same Number
and Delete it.

P#144701 2024-03-27 14:45
[ :: Read More :: ]

Good day, my monitor is 2560x1440, but on fullscreen there are black borders around the Picotron window. To get fullscreen without borders I have to enable stretching, which makes the image blurry.

1440p is just 720p doubled so I assumed there should be no problem scaling to that resolution, but it seems like the window itself is running at 1920x1080 in the center with black borders around it.

Is there a way to scale to cover the entire screen without making the image blurry?

P#144695 2024-03-27 14:24
[ :: Read More :: ]

idk how to get fget to check for a specific flag in picotron

P#144681 2024-03-27 13:04
[ :: Read More :: ]

Cart #importpng-9 | 2024-04-06 | Embed ▽ | License: CC4-BY-NC-SA
19

Guide

Currently (in Picotron 0.1.0e) it's hard to use a PNG image as a sprite. You can fetch("myimage.png"), but the result isn't in the right image format. So, here's a small tool to convert PNG files into picotron sprites.

Drag any .png or .qoi image into the tool to convert it into a sprite pod on your clipboard. You can paste this into the graphics editor, or into code.

Drag in a .hex file (e.g. from lospec.com) or a .pal file (e.g. from OkPal) before importing your png to change the import palette.

Details

Import speed

This tool prioritizes import speed. Images with only a few unique colors (e.g. an image already in the picotron palette) will import much faster than images with many colors.

Color quantization

You can use any colors, and the tool will try it's best to fit them to the palette. It isn't very smart about converting colors (it uses nearest euclidean distance in RGB space, and doesn't do any dithering). If you want better color conversion, use some external tool and make sure the PNG is in the correct palette before converting it with this tool.

See also PNG Frame, in "Related tools" below.

Wallpapers

If you're making a desktop wallpaper, I think you should stick to the default palette. If you use a custom palette, then your colors will change whenever you focus some window besides the desktop, I'm pretty sure.

To make a wallpaper:

  • make sure your wallpaper folder exists (mkdir /appdata/system/wallpapers)
  • save a new cart into that folder with this code:
    function _draw()
        spr(1)
        _draw = function() end
    end
  • convert your image using this tool, and copy it into your clipboard
  • paste your image into sprite 1 of the default sprite file

Library usage

This code is organized to make it easy to use as a library in your code. The library is self-contained in lib/importpng.lua, and you interact with it by calling myjob = job_importpng(myimg). The returned "job" is essentially a coroutine, but one that will let you limit its processing time. Call myjob:work(limit) during _update() until the job is done, or call myjob:join() a single time to finish it all at once (likely lagging the game). See the code for more details.

License: CC4-BY-NC-SA

Related tools

  • Cutievirus' PNG Frame -- a similar tool with much better color conversion. If your png is already in the right palette, importpng is faster than PNG Frame. But if you want better color quantization, use PNG Frame.
  • My Aseprite PICO-8/Picotron export extension lets you export Picotron pods directly to your clipboard from Aseprite.
  • My sprite importer lets you import PICO-8 spritesheets into Picotron.
  • My photo carousel uses this importer to show your custom PNGs as an animated wallpaper.
  • drakmaniso's OkPal palette editor.

changelog

v0.4 (#importpng-9)

  • add QOI image support - thanks to vebrun for prompting me to add it!

v0.3 (#importpng-7)

  • support for custom palettes
  • make it easy to use importpng as a library

v0.2 (#importpng-6)

  • show image as it imports
  • draw black in preview (not transparent anymore)
  • export to compressed pod format

v0.1 (#importpng-4)

  • initial release
P#144661 2024-03-27 11:24 ( Edited 2024-04-09 01:04)
[ :: Read More :: ]

Cart #lava-0 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Find your way through the lava field and gather precious treasure.

How to play

Use the arrow keys to navigate the explorer from the starting point to the treasure. Memorizing the correct path is essential! Discover the right route through trial and erro...ehm death 🔥🔥🔥

About

Created by Pidibit as a jam game for Trijam #261, a three-hour game jam.
The jam theme was One wrong move.

This is my first Trijam entry and first project in PICO-8, I love it! 😍

Screenshots

P#144660 2024-03-27 10:57
[ :: Read More :: ]

Cart #xy_cursor-0 | 2024-03-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

yeah

P#142575 2024-03-27 09:27
[ :: Read More :: ]

Cart #zz-1 | 2024-03-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

P#144511 2024-03-27 08:30
View Older Posts